home *** CD-ROM | disk | FTP | other *** search
- -- Abre arquivo e tabelas com textos
- on abreTextosDB
- global gTextosDB, gSimples, gVerbetes, gLinks
-
- set gTextosDB =¬
- new(Xtra "V12Dbe",the moviePath & "textos.v12","ReadWrite","no")
- if NOT objectP(gTextosDB) then
- Alert("Cannot open database: textos.v12")
- exit
- end if
-
- set gVerbetes = new(Xtra "V12table",mGetRef(gTextosDB),"verbetes")
- set gLinks = new(Xtra "V12table",mGetRef(gTextosDB),"links")
- set gSimples = new(Xtra "V12table", mGetRef(gTextosDB), "simples")
-
- end
-
- on fechaTextosDB
- global gTextosDB, gSimples, gVerbetes, gLinks,
- set gSimples = 0
- set gVerbetes = 0
- set gLinks = 0
- set gTextosDB = 0
- end
-
- -- Recria arquivo do V12 e importa textos
- on fazTextosDB
-
- v12TextosDB
-
- ImportaTextosDB
-
- importaLinks
- end
-
- on v12TextosDB
- -- Cria base de dados para textos
- fechaTextosDB
- set f = new(xtra "fileio")
- openFile(f,the moviePath & "textos.v12", 2)
- delete(f)
- closeFile(f)
- set f = 0
- criaTextosDB
- put "textos.v12 reinicializado"
- end
-
- on ImportaTextosDB
- abreTextosDB
- global gSimplesIndice
- set gSimplesIndice = 10000
-
- abreArqs
- global garqTextos, garqLista, garqControle
- put Integer(leAteFimDeLinha(garqLista)) into arqNum
-
- repeat while arqNum > 0
- put "Arquivo sendo importado: " & arqNum
- if arqNum < 10000 then importaSimples(arqNum)
- else importaVerbete(arqNum)
- put Integer(leAteFimDeLinha(garqLista)) into arqNum
- end repeat
-
- fechaTextosDB
- fechaArqs
-
- importaLinks
-
- end
-
-
-
-
- on LeArquivoTexto arq
- set f = new(xtra "fileio") -- Create an instance of FileIO
- openFile(f, the moviePath & arq, 1) -- Open the file
- put readFile(f) into strText
- closeFile(f)
- return strText
- end
-
- on leTexto arq, linhas
- put 0 into counter
- put "" into strTexto
- repeat while counter < linhas
- put readLine(arq) after strTexto
- put 1+counter into counter
- end repeat
- return strTexto
- end
-
- on leEstilos arq, linhas
- set texto = ""
- put 0 into counter
- repeat while counter < linhas
- put leAteFimDeLinha(arq) into tipo
- put Integer(leAteFimDeLinha(arq)) into palini
- put Integer(leAteFimDeLinha(arq)) into palfim
- put tipo & ", " & palini & ", " & palfim & RETURN after texto
-
- put counter + 1 into counter
- end repeat
-
- return texto
- end
-
- on fazEstilos textoEstilos, membro
- global gImportaSimples
- put 1 into counter
- -- if gImportaSimples then return
- if textoEstilos = "" then return
- set linhas = the number of lines in textoEstilos
- set the fontStyle of member membro to "plain"
- repeat while counter < the number of lines in textoEstilos
- put item 1 of line counter of textoEstilos into tipo
- put Integer(item 2 of line counter of textoEstilos) into palini
- put Integer(item 3 of line counter of textoEstilos) into palfim
- if tipo = "I" then
- set the fontStyle of word palini to palfim¬
- of member membro to "italic"
- else
- set the fontStyle of word palini to palfim¬
- of member membro to "underline"
- end if
- put counter + 1 into counter
- end repeat
- end
-
- on criaTextosDB
- -- Abre base de dados
- Set ClassDbe = Xtra "V12Dbe"
- set dbObj = new(ClassDbe,the moviePath & "textos.v12","Create","no")
- if NOT objectP(dbObj) then
- Alert("Cannot create database: textos.v12")
- exit
- end if
- -- Cria tabelas
- mCreateTable(dbObj,"simples" )
- mCreateField(dbObj,"simples","arqNum","Integer")
- mCreateField(dbObj,"simples","textoPC","media",32768)
- mCreateField(dbObj,"simples", "stringMac", "String", 512)
- mCreateField(dbObj,"simples", "estilos", "String", 8192)
- mCreateIndex(dbObj,"simples","index","unique","arqNum","ascending")
-
- mCreateTable(dbObj,"verbetes" )
- mCreateField(dbObj,"verbetes","arqNum","Integer")
- mCreateField(dbObj,"verbetes","mediaNum","Integer")
- mCreateField(dbObj,"verbetes","fotoCode", "String")
- mCreateField(dbObj,"verbetes","texto0","Integer")
- mCreateField(dbObj,"verbetes","texto1","Integer")
- mCreateField(dbObj,"verbetes","texto2","Integer")
- mCreateField(dbObj,"verbetes","texto3","Integer")
- mCreateField(dbObj,"verbetes","texto4","Integer")
- mCreateField(dbObj,"verbetes","texto5","Integer")
- mCreateField(dbObj,"verbetes","texto6","Integer")
- mCreateField(dbObj,"verbetes","texto7","Integer")
- mCreateField(dbObj,"verbetes","texto8","Integer")
- mCreateField(dbObj,"verbetes","texto9","Integer")
- mCreateField(dbObj,"verbetes","texto10","Integer")
- mCreateField(dbObj,"verbetes","texto11","Integer")
- mCreateField(dbObj,"verbetes","texto12","Integer")
- mCreateField(dbObj,"verbetes","texto13","Integer")
- mCreateField(dbObj,"verbetes","texto14","Integer")
- mCreateField(dbObj,"verbetes","texto15","Integer")
- mCreateField(dbObj,"verbetes","texto16","Integer")
- mCreateField(dbObj,"verbetes","texto17","Integer")
- mCreateIndex(dbObj,"verbetes","index","duplicate","arqNum","ascending")
-
- mCreateTable(dbObj,"links" )
- mCreateField(dbObj,"links","arqNum","Integer")
- mCreateField(dbObj,"links","mediaNum", "Integer")
- mCreateField(dbObj,"links","subtitNum", "Integer")
- mCreateField(dbObj,"links","palNum","Integer")
- mCreateField(dbObj,"links","destArq","Integer")
- mCreateField(dbObj,"links","destMedia", "Integer")
- mCreateIndex(dbObj,"links","linksNdx","duplicate","arqNum","ascending")
-
- -- Grava modificacoes e fecha
- mBuild(dbObj)
- set dbObj = 0
- set ClassDbe = 0
- end
-
-
- on abreArqs
- global garqTextos, garqLista, garqControle
- set garqLista = new(xtra "fileio")
- openFile(garqLista, the moviePath & "Convertidos/lista.txt", 1)
- set garqTextos = new(xtra "fileio")
- openFile(garqTextos, the moviePath & "Convertidos/sacolao.txt", 1)
- set garqControle = new(xtra "fileio")
- openFile(garqControle, the moviePath & "Convertidos/controle.txt", 1)
- end
-
- on fechaArqs
- global garqTextos, garqLista, garqControle
- closeFile(garqLista)
- set garqLista = 0
- closeFile(garqTextos)
- set garqTextos = 0
- closeFile(garqControle)
- set garqControle = 0
- end
-
- on leMedia indice, memTexto
- global gSimples
-
- if indice = 0 then
- set the text of member memTexto to "x"
- return 1
- end if
-
- mSetCriteria(gSimples,"arqNum","=",indice)
- mSelect(gSimples)
-
- if the platform contains "Mac" then
- set estilos = mGetField(gSimples, "estilos")
- if estilos = "x" then
- mGetMedia(gSimples,"textoPC", member memTexto)
- else
- set the text of member memTexto to mGetField(gSimples,"stringMac")
- set the font of member memTexto to ¬
- (the font of member "TipoLetra")
- set the fontStyle of member memTexto to¬
- (the fontStyle of member "TipoLetra")
- fazEstilos(estilos,memTexto)
- end if
- else
- mGetMedia(gSimples,"textoPC", member memTexto)
- end if
-
- return 0
- end
-
- on importaLinks
- Set ClassDbe = Xtra "V12Dbe"
- set dbObj = new(ClassDbe,the moviePath & "textos.v12","ReadWrite","no")
- if NOT objectP(dbObj) then
- Alert("Cannot open database: textos.v12")
- exit
- end if
- set ClassTable = Xtra "V12Table"
- set tbl = new(ClassTable,mGetRef(dbObj),"links")
- set f = new( xtra "fileio")
- openFile(f,the moviePath & "Convertidos/links.txt", 1)
- set fLen = getLength(f)
-
- set counter = 0
- repeat while getPosition(f) < fLen-2
- set arq to leAteFimDeLinha(f)
- set media to leAteFimDeLinha(f)
- set subtit to leAteFimDeLinha(f)
- set pal to leAteFimDeLinha(f)
- set destArq to leAteFimDeLinha(f)
- set destMedia to leAteFimDeLinha(f)
- mAddRecord(tbl)
- mSetField(tbl,"arqNum", arq)
- mSetField(tbl,"mediaNum", media)
- mSetField(tbl,"subtitNum", subtit)
- mSetField(tbl,"palNum", pal)
- mSetField(tbl,"destArq", destArq)
- mSetField(tbl,"destMedia",destMedia)
- mUpdateRecord(tbl)
- set counter = counter + 1
- if counter mod 1000 = 0 then put counter & " registros"
- end repeat
- put "Links lidos: " & counter
-
- mGoFirst(tbl)
- mSelect(tbl)
- put "Links total: " & mSelectCount(tbl)
-
- closeFile(f)
- set f = 0
- set tbl = 0
- set dbObj = 0
- set ClassDbe = 0
- end
-
- --on preparaField membro, corFrente, corFundo
- -- set the text of member membro to "x"
- -- set the font of member membro to "Arial"
- -- set the fontSize of member membro to 10
- -- set the fontStyle of member membro to ""
- -- set the foreColor of member membro to corFrente
- -- set the backColor of member membro to corFundo
- -- set the lineHeight of member membro to 16
- --end
-
- --on ajuda x
- -- repeat with i = 0 to 19
- -- set the lineHeight of member (x+i) to 16
- -- end repeat
- --end
-
- on importaSimples arqNum
- global garqTextos, garqLista, garqControle
- global gImportaSimples
- set gImportaSimples = true
-
- if arqNum >= 10000 then return arqNum
- put Integer(LeAteFimDeLinha(garqLista)) into mediaNum
- put LeAteFimDeLinha(garqLista) into fotoCode
- if arqNum = 5001 then
- set mem = the number of member "TextoLicenciadores"
- set memMac = 0
- set cst = "Verbetes"
- else if arqNum < 500 then
- set mem = the number of member "TextoUniversos"
- set mem = mem + arqNum - 1
- set memMac = 0
- set cst = "Universos"
- else if arqNum < 1000 then
- set mem = the number of member "TextosEspeciais"
- set mem = mem + arqNum - 500
- set memMac = 0
- set cst = "Abertura"
- else if arqNum < 2000 then
- set mem = the number of member "TextoCriadores"
- set memMac = mem
- set cst = "Criadores"
- else if arqNum < 2016 then
- set mem = the number of member "TextoMomentos"
- set mem = mem + arqNum - 2000
- set memMac = 0
- set cst = "Melhor"
- else
- alert("Que pagina ┼╜ essa ?" + arqNum)
- end if
-
- -- Prepara novo registro
- set res = mAddRecord(gSimples)
- if (res < 0) then put "Erro: " & res
- set res = mSetField(gSimples, "arqNum", arqNum)
- if (res < 0) then put "Erro: " & res
- -- set res = mSetField(gVerbetes, "fotoCode", fotoCode)
- -- if (res < 0) then put "Erro: " & res
-
- -- Carrega texto
- put Integer(LeAteFimDeLinha(garqLista)) into linhasTexto
- put Integer(LeAteFimDeLinha(garqLista)) into linhasControle
- if (linhasTexto <= 0) then put "Erro: texto vazio: " & arqNum
-
- set texto = leTexto(garqTextos,linhasTexto)
-
- set the text of member mem to texto
- set estilos = leEstilos(garqControle, linhasControle)
- fazEstilos(estilos, mem)
- set res = mSetMedia(gSimples, "textoPC", member mem)
- if (res < 0) then put "Erro ImportaSimples mSetMedia: " &¬
- res & ", arqNum=" & arqNum
-
- -- Prepara novo registro
- set res = mUpdateRecord(gSimples)
- if (res < 0) then put "Erro ImportaSimples mSetMedia: " & res & ", arqNum=" & arqNum
-
- set gImportaSimples = false
- end
-
-
-
- on importaVerbete arqNum
- global garqTextos, garqLista, garqControle
- global gSimples, gSimplesIndice
-
- if arqNum < 10000 then return arqNum
- put Integer(LeAteFimDeLinha(garqLista)) into mediaNum
- put LeAteFimDeLinha(garqLista) into fotoCode
- if mediaNum <> 1 then
- set mem = the number of member "TextosMidias"
- else
- set mem = the number of member "TextosVerbetes"
- end if
-
- -- Prepara novo registro
- set res = mAddRecord(gVerbetes)
- if (res < 0) then Alert( "Erro ( mAddRecord ): " & res )
- set res = mSetField(gVerbetes, "arqNum", arqNum)
- if (res < 0) then Alert( "Erro ( mSetField ): " & res )
- set res = mSetField(gVerbetes, "mediaNum", mediaNum)
- if (res < 0) then Alert( "Erro ( mSetField ): " & res )
- set res = mSetField(gVerbetes, "fotoCode", fotoCode)
- if (res < 0) then Alert( "Erro ( mSetField ): " & res )
-
- -- Reinicializa todos subtitulos
- set x = "x"
- repeat with subtitNum = 0 to 17
- set the text of member (mem + subtitNum) to x
- mSetField(gVerbetes, "texto" & subtitNum, 0)
- set the fontStyle of member (mem + subtitNum) to ""
- end repeat
-
- -- Carrega e salva os textos de cada subtitulo
- put Integer(LeAteFimDeLinha(garqLista)) into subtitNum
- repeat while subtitNum >= 0
- -- Le texto
- put Integer(LeAteFimDeLinha(garqLista)) into linhasTexto
- put Integer(LeAteFimDeLinha(garqLista)) into linhasControle
- if (linhasTexto > 0) then
- set texto = leTexto(garqTextos,linhasTexto)
- if the number of words in texto > 0 then
- mSetField(gVerbetes, "texto" & subtitNum, gSimplesIndice)
- mAddRecord(gSimples)
- mSetField(gSimples, "arqNum", gSimplesIndice)
- set gSimplesIndice = gSimplesIndice + 1
-
- if the number of chars in texto < 255 then set mac = true
- else set mac = false
-
- set the text of member (mem + subtitNum) to texto
- set estilos = leEstilos(garqControle, linhasControle)
- fazEstilos(estilos, (mem+subtitNum))
- mSetMedia(gSimples, "textoPC", member (mem + subtitNum))
-
- if mac then
- mSetField(gSimples, "estilos", estilos)
- mSetField(gSimples, "stringMac", texto)
- else
- mSetField(gSimples, "stringMac", "")
- mSetField(gSimples, "estilos", "x")
- end if
-
- set res = mUpdateRecord(gSimples)
- if (res < 0) then Alert "Erro Midias (mUpdateRecord): " & res
-
-
-
- -- Nos dois "else" abaixo, o texto e' vazio!
- else
- mSetField(gVerbetes, "texto" & subtitNum, 0)
- set the text of member (mem + subtitNum) to "x"
- end if
- else
- mSetField(gVerbetes, "texto" & subtitNum, 0)
- set the text of member (mem + subtitNum) to "x"
- end if
-
- put Integer(LeAteFimDeLinha(garqLista)) into subtitNum
- end repeat
-
- -- Salva registro
- set res = mUpdateRecord(gVerbetes)
- if (res < 0) then Alert "Erro Verbetes (mUpdateRecord): " & res
-
- return 0
- end
-